package com.wusiwei.mapper;

import com.wusiwei.entity.InvoiceDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 发票详情Mapper接口
 */
@Mapper
public interface InvoiceDetailMapper {
//    /**
     //     * 新增发票详情
     //     *
     //     * @param invoiceDetail 发票详情对象
     //     * @return 影响行数
     //     */
//    int insert(InvoiceDetail invoiceDetail);

    /**
     * 批量新增发票详情
     *
     * @param invoiceDetails 发票详情列表
     * @return 影响行数
     */
    int batchInsert(@Param("list") List<InvoiceDetail> invoiceDetails);

//    /**
//     * 更新发票详情
//     *
//     * @param invoiceDetail 发票详情对象
//     * @return 影响行数
//     */
//    int update(InvoiceDetail invoiceDetail);

//    /**
//     * 删除发票详情
//     *
//     * @param id 详情ID
//     * @return 影响行数
//     */
//    int deleteById(@Param("id") Long id);

    /**
     * 根据发票ID删除所有详情
     *
     * @param invoiceId 发票ID
     * @return 影响行数
     */
    int deleteByInvoiceId(@Param("invoiceId") Long invoiceId);

//    /**
     //     * 根据ID查询发票详情
     //     *
     //     * @param id 详情ID
     //     * @return 发票详情对象
     //     */
//    InvoiceDetail findById(@Param("id") Long id);

    /**
     * 根据发票ID查询所有详情
     *
     * @param invoiceId 发票ID
     * @return 发票详情列表
     */
    List<InvoiceDetail> findByInvoiceId(@Param("invoiceId") Long invoiceId);
} 